- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Графические интерфейсы пользователя Java - Тимур Сергеевич Машнин
Шрифт:
Интервал:
Закладка:
Свои дочерние узлы панель FlowPane компонует в вертикальный или горизонтальный поток компонентов, размер сегментов которого регулируется свойством prefWrapLength.
При достижении длины prefWrapLength происходит перенос потока на следующую строку или столбец.
Ориентация потока компоновки панели FlowPane определяется свойством orientation.
С помощью свойств alignment, columnHalignment и rowValignment, hgap и vgap регулируется общее выравнивание содержимого панели, горизонтальное и вертикальное выравнивание, горизонтальный и вертикальный отступы.
В этом примере мы создаем горизонтальную панель и вертикальную панель.
Для панелей мы определяем размер методом setPrefWrapLength, и отступы между узлами методами setHgap и setVgap.
Затем вертикальную панель добавляем в горизонтальную панель.
Задание
Сделайте так, чтобы метки с 1 по 4 были вверху экрана.
Класс TilePane представляет панель компоновки, которая компонует свои дочерние узлы в строки или столбцы ячеек с одинаковыми размерами.
Свойство alignment определяет общее выравнивание содержимого панели TilePane.
С помощью свойства orientation устанавливается ориентация компоновки дочерних узлов – в строки или столбцы.
Свойства prefColumns и prefRows позволяют установить количество столбцов или строк панели TilePane.
А свойства hgap, vgap, prefTileHeight, prefTileWidth, tileHeight, tileWidth и tileAlignment – интервал между столбцами или строками ячеек, размеры ячеек и выравнивание узлов внутри ячеек.
Статические методы setAlignment и setMargin класса TilePane обеспечивают регулировку выравнивания определенного узла Node внутри ячейки и заполнение им ячейки.
Панель TilePane содержит набор ObservableList дочерних узлов, заполнить который можно с помощью метода getChildren.addAll класса Pane.
В этом примере мы создаем основную панель с одним столбцом.
Далее мы добавляем в нее строки – это верхний узел, затем панель с двумя столбцами, центральный узел и нижнюю панель с двумя столбцами.
Размеры ячеек мы устанавливаем методами setPrefTileWidth и setPrefTileHeight.
Задание
С помощью панели TilePane создайте аналог панели BorderPane.
Класс AnchorPane представляет панель компоновки, которая компонует свои дочерние узлы путем прикрепления их к внутренним смещениям относительно сторон панели.
Панель AnchorPane содержит набор ObservableList дочерних узлов, заполнить который можно с помощью метода getChildren.addAll класса Pane.
Компоновка дочерних узлов панели AnchorPane определяется с помощью статических методов setBottomAnchor, setLeftAnchor, setRightAnchor и setTopAnchor класса AnchorPane.
В этом примере мы создаем два узла и прикрепляем их к верхнему и левому краю панели один под другим.
Затем мы добавляем эти узлы в панель методом getChildren.addAll.
Задание
С помощью панели AnchorPane создайте аналог панели BorderPane.
2D Графика
Платформа JavaFX обеспечивает возможности 2D графики с помощью базового класса Shape и его подклассов Arc, Circle, CubicCurve, Ellipse, Line, Path, Polygon, Polyline, QuadCurve, Rectangle, SVGPath и Text, представляющих геометрические примитивы и текст.
С помощью свойства fill класса Shape определяется цвет внутренней области геометрической формы, а с помощью свойства stroke – цвет ее контура.
Свойства strokeLineCap, strokeLineJoin, strokeMiterLimit, strokeType и strokeWidth обеспечивают регулировку стиля окончания линий контура геометрической формы, стиля соединения краев сегментов формы, расположения контура геометрической формы относительно ее границ и ширину контура геометрической формы.
С помощью свойства smooth можно установить сглаживание при отображении формы.
Если требуется отобразить контур геометрической формы в виде пунктирной линии, необходимо воспользоваться методом getStrokeDashArray.addAll класса Shape для определения набора пар: длина пунктира – интервал между пунктирами, и свойством strokeDashOffset, устанавливающим интервал до первого пунктира.
Если для набора ObservableList, возвращаемого методом getStrokeDashArray, определить только одно значение, тогда оно будет задавать длину, как пунктира, так и интервал между пунктирами.
Класс Arc представляет геометрический примитив – дугу (сегмент эллипса).
С помощью свойств centerX и centerY устанавливаются координаты центра эллипса, частью которого является дуга.
Свойства radiusX и radiusY задают ширину и высоту эллипса, а свойства length и startAngle – угол сегмента эллипса и начальный угол, формирующие дугу.
Свойство type определяет стиль завершения дуги с помощью полей OPEN, CHORD и ROUND перечисления ArcType.
Приведенный здесь код демонстрирует пример создания дуги с несоединенными концами.
Класс Line представляет геометрический примитив – прямую линию и имеет, помимо унаследованных от класса Shape, собственные свойства: endX, endY, startX и startY, определяющие координаты начала и конца прямой линии.
Приведенный здесь код демонстрирует пример создания пунктирной прямой линии.
Класс Circle представляет геометрический примитив – круг и имеет, помимо унаследованных от класса Shape, собственные свойства: centerX, centerY и radius, определяющие координаты центра круга и его радиус.
Приведенный здесь код демонстрирует пример создания круга.
Класс CubicCurve представляет геометрический примитив – кубическую кривую Безье.
С помощью свойств startX, startY, endX и endY устанавливаются начальные и конечные координаты кривой.
А свойства controlX1, controlX2, controlY1 и controlY2 определяют промежуточные координаты прохождения кривой.
Приведенный здесь код демонстрирует пример создания кубической кривой Безье.
Класс QuadCurve представляет геометрический примитив – квадратичную кривую Безье.
С помощью свойств startX, startY, endX и endY устанавливаются начальные и конечные координаты кривой, а свойства controlX и controlY определяют промежуточные координаты прохождения кривой.
Приведенный здесь код демонстрирует пример создания квадратичной кривой Безье.
Класс Ellipse представляет геометрический примитив – эллипс.
Свойства centerX, centerY, radiusX, radius определяют координаты центра эллипса и его ширину и высоту.
Приведенный здесь код демонстрирует пример создания эллипса.
Класс Rectangle представляет геометрический примитив – прямоугольник.
Свойства x, y, height и width определяют координаты и размеры прямоугольника, а свойства arcHeight и arcWidth позволяют создавать прямоугольник с закругленными углами, устанавливая высоту и ширину дуги угла прямоугольника.
Приведенный здесь код демонстрирует пример создания прямоугольника.
Класс Polyline представляет геометрический примитив – ломаную линию, который определяется набором ObservableList координат, через которые должна проходить линия, включая начальные и конечные координаты x, y.
Приведенный здесь код демонстрирует пример создания ломаной линии.
Класс Polygon представляет геометрический примитив – многоугольник, который по сути является ломаной линией Polyline, концы которой соединены линией, и также как и линия Polyline, Polygon определяется набором ObservableList координат углов многоугольника.
Приведенный здесь код демонстрирует пример создания многоугольника.
Класс Path представляет фигуру, составленную из геометрических форм, и имеет, помимо унаследованных от класса Shape, собственное свойство fillRule, определяющее как области пересечения геометрических форм комбинируются для образования фигуры или по-другому, когда точка находится внутри пути.
Фигура Path состоит из набора ObservableList геометрических форм, заполнить который можно с помощью метода getElements.addAll класса Path.
Геометрические формы (или элементы пути) фигуры Path представлены базовым классом PathElement и его подклассами ArcTo, ClosePath,

